import http from '@/libs/http'

/**
 * 添加数据
 * @param data
 */
export function created(data) {
    return http({
        url: '/system/area/add',
        method: 'post',
        data
    })
}


/**
 * 根据ID删除数据(批量删除)
 * 发送复杂请求（DELETE）时设置withCredentials为true报错
 * @param id
 */
export function deleted(id) {
    return http({
        url: '/system/area/delete/'+id,
        method: 'delete',
        withCredentials: false
    })
}

/**
 * 修改数据
 * @param data
 */
export function updated(data) {
    return http({
        url: '/system/area/update',
        method: 'post',
        data
    })
}

/**
 * 根据IdD查询单条数据
 * @param id
 */
export function selectOne(id) {
    return http({
        url: '/system/area/get/'+id,
        method: 'get'
    })
}

/**
 * 多条件查询数据列表
 * @param query
 */
export function selectList(query) {
    return http({
        url: '/system/area/list',
        method: 'get',
        params: query
    })
}

/**
 * 多条件查询分页数据
 * @param query
 */
export function selectPage(query) {
    return http({
        url: '/system/area/page',
        method: 'get',
        params: query
    })
}

/**
 * 查询树状结构返回JSON（所有）
 * @param query
 */
export function selectTree(query) {
    return http({
        url: '/system/area/tree',
        method: 'get',
        params: query
    })
}

/**
 * 查询树状结构返回JSON（加载根节点）
 * @param query
 */
export function loadAreaRoot() {
    return http({
        url: '/system/area/loadAreaRoot',
        method: 'get'
    })
}

/**
 * 查询树状结构返回JSON（根据PID加载子节点）
 * @param query
 */
export function loadAreaByPid(query) {
    return http({
        url: '/system/area/loadAreaByPid',
        method: 'get',
        params: query
    })
}

/**
 * 更新坐标（坐标为空的情况下）
 * @param query
 */
export function updateLocation(data) {
    return http({
        url: '/system/area/updateLocation',
        method: 'post',
        data
    })
}

/**
 * 异步生成Vant Area需要的JSON数据文件
 */
export function asyncGeneratorVantAreaJson() {
    return http({
        url: '/system/area/asyncGeneratorVantAreaJson',
        method: 'get'
    })
}
